The controller area network (CAN) which is standardized as ISO11898-1 is configured to share a communication bus with multiple communication nodes, to assign priority to each of many messages transmitted by the communication nodes, and to arbitrate priorities assigned to those messages, for enabling a communication among certain communication nodes.
In addition to such arbitrated communication, a time division communication that is frequently used in an automotive control, (i.e., a periodical control), is also used in parallel, for example, in a communication method of TTCAN (ISO11898-4), FlexRay (a registered trademark), which is a method disclosed in a patent document 1 (i.e., Japanese Patent Laid-Open No. JP-T-2002-500841 and U.S. Pat. No. 6,111,888), and the like.
For example, according to the communication method in patent document 1, a “master” communication node transmits a sync pulse on the bus periodically. A time division period is defined by the sync pulse, and each of the time division periods is further segmented into three types of time segments. The first segment type is a “sync segment”, in which a sync message is transmitted. The sync message is a message that controls each communication node to generate a real-time message. The second segment type is a “real-time segment”, in which only a real-time message is transmitted by each communication node. At a time of transmission of the message, an order of transmission of real-time messages by multiple communication nodes is arbitrated according to an arbitration function of the CAN. The third segment type is a “non-real-time segment”, in which a non-real-time message prepared in advance by each communication node is transmitted. The transmission of a non-real-time message is postponed until the next time division period, if the allocated time of the non-real-time segment is not sufficient in period/length for the transmission of all of the non-real-time messages.
As described above, the communication method in patent document 1 defines different time segments for transmitting different messages. That is, separate segments are defined (i) for the transmission of a periodical data message (i.e., a real-time message) which is used for performing a periodical control, and (ii) for the transmission of a non-periodical data message (i.e., a non-real-time message) which is used for performing an event-driven control that is required in response to an occurrence of a certain event.
Generally, an automobile includes a brake control unit, an engine control unit and the like, for example, which must execute commands in “real-time” in response to event-driven control or according to a user operation. However, with the above communication method, the message for event-driven control may be transmitted as a non-real-time message. Therefore, even when the transmission of such a message should be performed immediately, the transmission may be delayed until the end of the transmission of a periodical data message, for example, if the transmission of such message occurs during the time segment for transmitting the periodical data message. In such a manner, the start of the transmission of the non-periodical data message, which should be transmitted immediately and without delay, may be delayed.